| Предыдущая | Следущая | |
Flash Player 7.
my_mcl.loadClip(url:String,target:Object): Boolean
url Абсолютный или относительный URL-адрес SWF
или JPEG файла для загрузки. Относительный путь должен отсчитыватья от SWF-файла,
находящегося на основном уровне 0. Абсолютный URL-адрес
должен иметь спецификацию протокола, такую как, например, http:// или file:///.
Имена файлов не могут содержать спецификации диска.
target Число, определяющее
уровень во флэш плеере или путь к клипу, в который файл
должен быть загружен. Содержимое клипа будет замещено загружаемым SWF файла
или изображением.
Булево значение. Возвращаемое значение равно true, если запрос
URL-адреса успешен; в противном случае возвращается false.
Метод; загружает SWF или JPEG файл в клип во флэш плеере во время воспроизведения исходного ролика. Использование этого метода позволяет показывать несколько SWF файлов сразу или переключаться между ними без загрузки другой HTML-страницы.
Использование этого метода вместо loadMovie() или MovieClip.loadMovie() имеет
ряд преимуществ. За счет использования объекта, принимающего сообщения о событиях
(listener), зарегистрированного с помощью MovieClipLoader.addListener(listenerObject),
реализуются следующие обработчики.
MovieClipLoader.onLoadStart вызывается
при начале загрузки.MovieClipLoader.onLoadError вызывается,
когда клип не может быть загружен.MovieClipLoader.onLoadProgress вызывается
в процессе загрузки.MovieClipLoader.onLoadInit вызывается
после выполнения команд первого фрейма загруженного клипа, когда уже можно
начать производить какие-либо действия с ним.MovieClipLoader.onLoadComplete вызывается
после полной загрузки файла.SWF файл или изображение, загруженные в клип, наследуют его свойства : расположение, поворот и масштаб. Путь к клипу можно использовать и для обращения к загруженному клипу.
Метод loadClip() можно использовать для загрузки одного или нескольких
файлов в один и тот же клип или уровень: объекты MovieClipLoader
передают указатель на загруженный клип в качестве параметра, хотя можно создавать
для каждого загружаемого файла и отдельный объект MovieClipLoader.
Используйте MovieClipLoader.unloadClip() для удаления SWF
или изображения, загруженных с помощью этого метода или для прекращения текущей
загрузки.
MovieClipLoader.getProgress() и MovieClipLoaderListener.onLoadProgress не
выдают реальных значений bytesLoaded и bytesTotal при
тестировании в среде разработки для локальных файлов.
Когда Вы используете возможности Bandwidth Profiler в среде разработки FLASH, MovieClipLoader.getProgress() и MovieClipLoaderListener.onLoadProgress выдают
реальные скорости загрузки, а не установленные для тестирования.
Следующий пример иллюстирует использование многих методов класса MovieClipLoader .
// первый набор listener'ов
var my_mcl:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();
myListener.onLoadStart = function(target_mc:MovieClip) {
trace("*********First my_mcl instance*********");
trace("Your load has begun on movie clip = "+target_mc);
var loadProgress:Object = my_mcl.getProgress(target_mc);
trace(loadProgress.bytesLoaded+" = bytes loaded at start");
trace(loadProgress.bytesTotal+" = bytes total at start");
};
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
trace("*********First my_mcl instance Progress*********");
trace("onLoadProgress() called back on movie clip "+target_mc);
trace(loadedBytes+" = bytes loaded at progress callback");
trace(totalBytes+" = bytes total at progress callback");
};
myListener.onLoadComplete = function(target_mc:MovieClip) {
trace("*********First my_mcl instance*********");
trace("Your load is done on movie clip = "+target_mc);
var loadProgress:Object = my_mcl.getProgress(target_mc);
trace(loadProgress.bytesLoaded+" = bytes loaded at end");
trace(loadProgress.bytesTotal+" = bytes total at end");
};
myListener.onLoadInit = function(target_mc:MovieClip) {
trace("*********First my_mcl instance*********");
trace("Movie clip = "+target_mc+" is now initialized");
// теперь можно применять любые установки, например:
target_mc._width = 100;
target_mc._height = 100;
};
myListener.onLoadError = function(target_mc:MovieClip, errorCode:String) {
trace("*********First my_mcl instance*********");
trace("ERROR CODE = "+errorCode);
trace("Your load failed on movie clip = "+target_mc+"\n");
};
my_mcl.addListener(myListener);
// загрузим файлы по назначению.
// загружаем в мувиклип
this.createEmptyMovieClip("clip1_mc", this.getNextHighestDepth());
clip1_mc._x = 400;
this.createEmptyMovieClip("clip2_mc", this.getNextHighestDepth());
my_mcl.loadClip("http://www.macromedia.com/software/drk/images/box_drk5.jpg", clip1_mc);
my_mcl.loadClip("http://www.macromedia.com/devnet/images/160x160/ben_forta.jpg", clip2_mc);
clip2_mc._x = 200;
// загружаем на _level1
my_mcl.loadClip("http://www.macromedia.com/devnet/images/160x160/mike_chambers.jpg", 1);
//
// второй набор listene'ов
var another_mcl:MovieClipLoader = new MovieClipLoader();
var myListener2:Object = new Object();
myListener2.onLoadStart = function(target_mc:MovieClip) {
trace("*********Second my_mcl instance*********");
trace("Your load has begun on movie = "+target_mc);
var loadProgress:Object = my_mcl.getProgress(target_mc);
trace(loadProgress.bytesLoaded+" = bytes loaded at start");
trace(loadProgress.bytesTotal+" = bytes total at start");
};
myListener2.onLoadComplete = function(target_mc:MovieClip) {
trace("*********Second my_mcl instance*********");
trace("Your load is done on movie clip = "+target_mc);
var loadProgress:Object = my_mcl.getProgress(target_mc);
trace(loadProgress.bytesLoaded+" = bytes loaded at end");
trace(loadProgress.bytesTotal+" = bytes total at end");
};
myListener2.onLoadError = function(target_mc:MovieClip, errorCode:String) {
trace("*********Second my_mcl instance*********");
trace("ERROR CODE = "+errorCode);
trace("Your load failed on movie clip = "+target_mc+"\n");
};
another_mcl.addListener(myListener2);
/* загрузим файлы по назначению(используя второй экземпляр MovieClipLoader) */
another_mcl.loadClip("http://www.macromedia.com/devnet/images/160x160/flex_logo.jpg", this.createEmptyMovieClip("clip4_mc", this.getNextHighestDepth()));
clip4_mc._y = 200;
// вставьте следующие операторы после окончания загрузки,
// и после вызова my_mcl.onLoadInit .
// my_mcl.removeListener(myListener);
// my_mcl.removeListener(myListener2);
MovieClipLoader.unloadClip()
| Посмотреть комментарии LiveDocs | Предыдущая | Следущая | |